#include<cstdio>
#include<algorithm>
using namespace std;
int N;
char S[1<<20];
int C[1<<20],M[1<<20];
main()
{
scanf("%d%s",&N,S);
if(N%2)
{
puts("0");
return 0;
}
int cnt=0;
for(int i=0;i<N;i++)
{
if(S[i]=='(')cnt++;
else cnt--;
C[i+1]=cnt;
}
M[N]=C[N];
for(int i=N;i--;)
{
M[i]=min(C[i],M[i+1]);
}
int ans=0;
for(int i=0;i<N;i++)
{
if(C[i]<0)break;
if(S[i]=='(')
{
if(M[i+1]==2&&cnt==2)ans++;
}
else
{
if(M[i+1]==-2&&cnt==-2)ans++;
}
}
printf("%d\n",ans);
}
478A - Initial Bet | 981A - Antipalindrome |
365A - Good Number | 1204B - Mislove Has Lost an Array |
1409D - Decrease the Sum of Digits | 1476E - Pattern Matching |
1107A - Digits Sequence Dividing | 1348A - Phoenix and Balance |
1343B - Balanced Array | 1186A - Vus the Cossack and a Contest |
1494A - ABC String | 1606A - AB Balance |
1658C - Shinju and the Lost Permutation | 1547C - Pair Programming |
550A - Two Substrings | 797B - Odd sum |
1093A - Dice Rolling | 1360B - Honest Coach |
1399C - Boats Competition | 1609C - Complex Market Analysis |
1657E - Star MST | 1143B - Nirvana |
1285A - Mezo Playing Zoma | 919B - Perfect Number |
894A - QAQ | 1551A - Polycarp and Coins |
313A - Ilya and Bank Account | 1469A - Regular Bracket Sequence |
919C - Seat Arrangements | 1634A - Reverse and Concatenate |